草庐IT

Android JSONObject 与 GSON

全部标签

java - 在没有POJO的情况下用Gson解析Json?

希望这里有人能提供简单的解决方案。我知道有类似的问题,但我似乎无法修改它们来解决我的问题。我正在尝试解析此json响应中的“formatted_address”字符串:{"results":[{"address_components":[{"long_name":"GoogleBuilding42","short_name":"GoogleBldg42","types":["premise"]},{"long_name":"1600","short_name":"1600","types":["street_number"]},{"long_name":"AmphitheatrePar

java - 使用 Gson 序列化一个 POJO

我使用GSON序列化POJO——更改前后的对象。由Struts2设置的修改后的一个(称之为A)可以很容易地序列化为Json。而修改之前通过iBatis(称之为B)从数据库中获取的POJO无法序列化。错误消息说:忘记注册类型适配器?我已经阅读了GsonAPI。但是我不认为为每个POJO注册一个类型适配器是个好主意。是什么导致B无法序列化?我为我的POJO写了一个clone(),从B克隆的对象也可以完成。这令人困惑...有人可以回答我吗?更改前(B的克隆):{"id":"6429B5329C544711A9848AF243D10E4E","idType":"未选择","firstDate"

java - 使用 gson 将嵌套的 Java 对象与 json 相互转换

假设我们有以下两个Java类(忽略其他类成员):classBook{privateStringname;privateString[]tags;privateintprice;privateAuthorauthor;}classAuthor{privateStringname;}此外,假设我们有以下json对象:{"Book":{"name":"Bible","price":20,"tags":["God","Religion"],"writer":{"name":"Jesus"}}我正在尝试找到将JavaBook实例转换为json并使用gson返回的最佳方法。为了使示例更有趣,请注意

java - GSON解析动态JSON字段

我似乎无法弄清楚这一点。我看过一些SO帖子(here和here),我的情况有点不同。我不确定我是否必须注册一个新的TypeToken或什么。但是我的JSON对象看起来像这样:{"id":6,"error":"0","dates":{34234:"2011-01-01"//Iwanttoparsethedateintoastring.87474:"2011-08-09"//Thefirstvaluesareallunique..//thiscanbeanynumberofentries...74857:"2011-09-22"}}我已经像这样创建了我的两个对象:publicclassRe

java - Java中的Gson、JsonElement、String比较

好吧,我想知道这可能是非常简单和愚蠢的,但在与这种情况斗争了一段时间之后,我不知道发生了什么。我正在使用Gson来处理一些JSON元素。在我的代码中的某处,我将JsonObject的JsonElements之一作为字符串获取,并将其与另一个字符串进行比较。据我所知,它们都是相等的,但在比较时我总是得到假。这是片段。JsonArrayarr;JsonObjectjsonobj;JsonElementmodel_elem;StringSTUPID_STRING="blablabla";//Previouslyweinitializesandfillarr,itdoesn'tmatterho

java - 在 Java 中使用 Gson 合并/扩展 JSON 对象

我经常需要合并两个JSON对象(类似于jQuery的$.extend()的工作方式)。但是,Gson库没有内置功能,他们说theywon'timplementit.做类似的事情:privatevoidmerge(JsonObjectfirstObj,JsonObjectsecondObj){for(StringkeyInSecondObj:secondObj.entrySet().keySet()){if(!firstObj.has(keyInSecondObj)){firstObj.add(secondMap.get(keyInSecondObj));}}太简单了,因为它不处理递归合

java - 如何迭代 json 对象数组(gson)

我正在制作一款舰船防御游戏。我在获取航点数组时遇到问题。map包含JSON格式(使用GSON){"waypoints":{"ship":{"first_type":[[0,0],[5,7],[2,8],[4,4],[10,10],[12,0],[0,12],[12,8],[8,8]]},"boat":{"first_type":[[0,0],[5,7],[2,8],[4,4],[10,10],[12,0],[0,12],[12,8],[8,8]]}}}我的代码:jse=newJsonParser().parse(in);in.close();map_json=jse.getAsJson

java - 如何使用 Gson 获取 JSON 元素类型?

在JSON文件中,文件中的每个对象都由不同类型的JSON元素组成。(整数、字符串、数组、对象数组等)我的目标是列出所有元素名称和对应的类型。我可以知道如何在Gson中做到这一点吗?这样做的目的是创建Hive架构。例子:{"number":1,"ts":"1386848002","cmpg":[{"id":476,"mcp":0,"deals":[],"cookie":"uid:123","bid":[{"bId":0,"status":"ZB","rmtchID":-1}]}]}输出:numberint,tsString,cmpgarray>//notsurehowtointerpre

java - GSON通过注解控制序列化格式化

我正在尝试使用注释来控制序列化格式。但是似乎没有任何方法可以从TypeAdapter或TypeAdapterFactory内部访问字段注释。这是我正在努力实现的一个例子。importorg.joda.time.DateTime;publicclassMovie{Stringtitle;@DateTimeFormat("E,Mdyyyy")DateTimereleaseDate;//otherfields...}publicclassLogEvent{Stringmessage;@DateTimeFormat("yyyyMMdd'T'HHmmss.SSSZ")DateTimetimest

java - 使用谷歌的 Gson 将 Json 转换为 java 对象

我正在使用SpringSocialFqlQuery从facebook获取数据。这是我从Facebook获得的JSON响应。我获取Json输出的Controller在这里,fql="SELECTworkFROMuserWHEREuid=me()";facebook.fqlOperations().query(fql,newFqlResultMapper(){publicObjectmapObject(FqlResultresult){Listlist=(List)result.getObject("work");for(Objectobject:list){JsonHelperjsonH